雑に読む 「ChatGPT 人間のフィードバックから強化学習した対話AI」
東京大学の研究室内で,今井がChatGPTの知見を共有するために使用したスライド資料です.
特に以下のような話題,技術について解説しています.
ChatGPTの凄さ・ChatGPTの技術・言語モデル・プロンプト・GPTとは・InstructGPT・言語モデルと強化学習
実はこの資料の解説自体が、一部CatGPTの出力を使って作られています
論文は公開されていない
のでChatGPTというより、元となった(かもしれない)InstructGPTがメイン
これまでのGPTとの違いは、人間からのフィードバックを受けている
GPT-3に対して強化学習(RLHF : Reinforcement Learning from Human Feedback)を行った 不適切なコンテンツを隠す
GPTシリーズには公開されたAPIがいくつかある
GPT-3をベースに強化学習を行ったtext-davinci-002 / text-davinci-003
これとcode-davinci-002はGPT-3.5シリーズと呼ばれる
通信にはtext-davinci-002-render-shaという文字列が含まれていたtakker.icon
GPTとは?
Generative Pre-trained Transformerの略
Transformer モデルは、この文章に含まれる単語のように、連続したデータの関係を追跡することによって、文脈ひいては意味を学習するニューラルネットワークです。 Transformer モデルは、進化する一連の数学的手法 (アテンションまたはセルフアテンションと呼ばれます) を適用して、同じ系内にある隔たったデータ要素間の微妙な相互影響や相互依存関係を見つけます。
言語モデル
単語や文章が生成される確率をモデル化したもの
大規模なTransformerを使用したものを大規模言語モデル(LLM : large Language Models) これは御存知の通り
最初のGPT
Improving Language Understanding by Generative Pre-Training
Transformerのデコーダをベースにラベルなしの事前学習を行い、タスクに応じた少数のラベル付きファインチューニングを行って、さまざまなタスクで性能を評価した
常識推論、質問応答等のタスクで、それぞれに特化したモデルを超える性能
GPT-2
Lunguage Models are Unsupervised Multitask Learners
zero-shot : ファインチューニングなしで
GPT-3
Language Models are Few-Shot Leaners
モデルのパラメーター数を175Bにした
ヤバいと言われだした
GPTでプログラミングさせてみた
GitHubのコードを使ってファインチューニング
StableDiffusionやGPTのように、膨大なデータで学習させ、応用できるようにしたモデルの総称
InstructGPT
GPT-3のようなLLMは人間にとって有害・役に立たない出力をすることも多かった
Stable Diffusionも融解した身体がしょっちゅう出力されるnomadoor.icon
RLHFをを行うことにより、パラメーター数が100倍以上のモデルよりも人間視点で良い結果が RLHF : 出力を人間が評価し、それをもとに強化学習する 本来はアライメントを行うことにより、一部タスクへの評価が下がる
vs GPT-3
人間視点で好ましい出力を行う
より事実に基づく
有害な出力の減少
RLHFで出てこなかった質問に対しても高い性能
✕
間違った事実を出力することがある
無駄に長い解答
プロンプト自体の間違いに気づけない
https://gyazo.com/60ed423c33129ff48ce587128650fef7
Step 1
プロンプトに対して人間(Labeler)が解答。これで教師あり学習をさせる(SFT) Step 2
プロンプトに対して複数のモデルで出力させる
人間がそれぞれの出力を評価
Step 3
RMを使い、GPT-3を微調整する
Step 1で作ったモデルどこで使うんだ?nomadoor.icon
✕ アライメント税が発生してしまう
aligning the models only on customer tasks can make their performance worse on some other academic NLP tasks
Deepl.icon顧客タスクでのみモデルを調整すると、他のアカデミックなNLPタスクのパフォーマンスが低下することがあります。
ファインチューニング的なことをすれば汎化性能が下がるのは当然なのでは?nomadoor.icon
InstrucGPTの評価
ベースライン
GPT-3
SFT
PRO
Pro-ptx : InstructGPT
SFTと比較
Labelerが好ましいと判断した割合が指標
https://gyazo.com/683c25f27256184c14df4bb680cba18d
Heldout workers : 学習に関わらなかったLabeler
Training workers : 学習に関わったLabeler
PROモデルが100倍のパラメータ数を持つGPT-3に勝る
メタデータを元にした評価
https://gyazo.com/88219ede5417d4d92e19e33474925ac8
https://gyazo.com/ebd377f9b2684d1bc62df635e14c73e2
値が小さい方が良い
すべてGPTに勝る
多少改善
言語モデルは人種差別、性差別等の有害な言葉を生成する傾向にあるため、それをどれだけコントロールできるかの指標
有害判定は人間とPerspectiveAPIそれぞれ行う
いずれも改善
定性評価
学習データの90%が英語にも関わらず、その他の言語でも高い性能(GPT-3と比べて)
簡単なミスは未だにする
ChatGPTを触ったときの所感と同じnomadoor.icon
誰に対するアライメントか
Labelerの嗜好の影響を受けてしまう
それ以前にSFTで使ったプロンプトが偏っているかもしれない